/**********************************************************************
 * 函数名称： // logout
 * 功能描述： // 注销用户
 * 访问的表： // fielInfo, password
 * 修改的表： // NULL
 * 输入参数： // const char* p_user, int netfd
 * 返回的值： // 正确返回0， 错误返回1
 * 更新说明： // 
 * 修改日期        版本号     修改人          修改内容
 * -----------------------------------------------
 * 2023/04/16       V3.0       zhao            XXXX
 ***********************************************************************/
#include <func.h>

int helper(const char* table,const char * p_user, int netfd){
    MYSQL * mysql = mysql_init(NULL); // 为mysql连接分配内存（线程不安全）

    MYSQL * ret = mysql_real_connect(mysql,"localhost", "root", "123456", "test", 0, NULL, 0);
    if(ret == NULL){
        fprintf(stderr,"mysql connect error:%s\n", mysql_error(mysql));
        train.length = -1;
        send(netfd, &train.length, sizeof(int), 0);
        sprintf(train.data, "mysql connect error:%s\n", mysql_error(mysql));
        send(netfd, train.data, strlen(train.data), 0);

        return -1;
    }

    char sql[1024] = {0};
    sprintf(sql, "UPDATE %s SET tomb = 1 WHERE user = %s;", table, p_user);

    int qret = mysql_query(mysql,sql);
    if(qret != 0){
        fprintf(stderr,"sql error:%s\n", mysql_error(mysql));
        train.length = -1;
        send(netfd, &train.length, sizeof(int), 0);
        sprintf(train.data, "mysql connect error:%s\n", mysql_error(mysql));
        send(netfd, train.data, strlen(train.data), 0);
        return -1;
    }else {
        train.length = 0;
        send(netfd, &train.length, sizeof(int), 0);
        sprintf(train.data, "drop success\n");
        send(netfd, train.data, strlen(train.data), 0);
    }

    mysql_close(mysql);
    return 0;
} 

int logout(const char * p_user, int netfd){
    helper("fileInfo", p_user, netfd);
    helper("password", p_user, netfd);
    return 0;
}
